#ifndef CAPA_H
#define CAPA_H

#include <QObject>
#include <QString>
#include <QRectF>
#include <QImage>
#include <QPainter>
#include "visor2d_global.h"

class VISOR2D_EXPORT Capa : public QObject
{
    Q_OBJECT
public:
    Capa();
    virtual ~Capa();

	virtual void dibujarImagen(QPainter* painter, const QRectF& encuadreReal, int anchoPixeles, int altoPixeles) { };
	virtual void pedirImagen(const QRectF& encuadreReal, int anchoPixeles, int altoPixeles) { };
	virtual bool isProcesando() = 0;
    virtual void limpiar() = 0;

    virtual QImage getImagenActual(QRectF& encuadreReal) = 0;   

signals:    
    void capaRecibida(Capa* capa);
    void errorRecibido(QString mensaje);
};

#endif // CAPA_H
